/*
@InterfaceName PlanScheduleMapper
@Date      2022/8/2
@Description TODO
@Author    SubUp
@version   1.0
*/
package com.sunjob.mrojobschedule.mapper;

import com.sunjob.common.domain.scheduleServer.JobSchedule;
import com.sunjob.common.domain.scheduleServer.PlanSchedule;
import com.sunjob.common.domain.scheduleServer.orm.PlanResult;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
@Mapper
public interface PlanScheduleMapper {
    List<PlanSchedule> queryAllPlan();
    List<PlanResult> queryAllPlanResult();
    List<PlanSchedule> queryPlanById(@Param("planId") Long planId);
    List<PlanResult> queryPlanOrmById(@Param("planId") Long planId);
    PlanResult queryPlanOrmByPlanId(@Param("planId") Long planId);
    List<PlanResult> queryPlanResultByObjName(@Param("examineObjName") String examineObjName);
    List<PlanResult> queryPlanResultByObjType(@Param("examineObjType") String examineObjType);
    List<PlanResult> queryPlanResultByNatureId(@Param("natureId") Integer natureId);
    Integer insertPlan(PlanSchedule plan);
    Integer updatePlan(PlanSchedule plan);
    Integer removePlan(Long planId);
    Integer updatePlanByExamineState(@Param("planId") Long planId,@Param("examineState") Integer examineState);
    Integer updatePlanByPlanState(@Param("planId") Long planId,@Param("planState") Integer planState);
    Integer deletePlan(@Param("planId") Long planId);
    Integer deletePlanByExamineState(@Param("planId") Long planId,@Param("examineState") Integer examineState);
    List<PlanSchedule> queryPlanNature(String staffName, Integer planStateExplain);
}
